最近有空把博客中的评论功能给完善了一下,结果发现用Gitalk时文章标题比较长的时候会出现Error Validation Failed错误。

上项目讨论下查了有很多人都遇到了,这是因为基于Github评论的功能,最近Github限制了label长度,如果文章标题过长(总路径超过50字符)就会出现认证不通过,无法找到对应文章评论的错误。

网上也有一些讨论用MD5加密来缩短长度的方法,不过大多基于Jscript代码的,我用的maupassant主题页面用的pug写的,自己尝试了一下,照葫芦画瓢也给弄出来了,这里写出来,给同样需要的人,以免少走弯路。

具体修改..\themes\maupassant\layout_partial\comments.pug中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if theme.gitalk.enable == true
#container
link(rel='stylesheet', type='text/css', href='//unpkg.com/gitalk/dist/gitalk.css?v=' + theme.version)
script(type='text/javascript' src='//cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js')
script(type='text/javascript' src='//unpkg.com/gitalk/dist/gitalk.min.js?v=' + theme.version)
script.
var gitalk = new Gitalk({
clientID: '#{theme.gitalk.client_id}',
clientSecret: '#{theme.gitalk.client_secret}',
repo: '#{theme.gitalk.repo}',
owner: '#{theme.gitalk.owner}',
admin: ['#{theme.gitalk.admin}'],
id: md5(location.pathname),
distractionFreeMode: false
})
gitalk.render('container')

其中:

  • script(type=’text/javascript’ src=’//cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js’)
  • id: md5(location.pathname),

是我自己改动的部分

谢谢,😀!